package cn.hrfax.stf.sdk.template;

/**
 * @author yongSen.wang
 * @date 2020/6/4 11:16
 */
public interface ActionTemplate {

    /**
     * 调用外部服务接口的模板执行入口
     *
     * @param action
     * @return
     * @throws RuntimeException
     */
    <R, P> R execute(AbstractCallRemoteAction<R, P> action) throws RuntimeException;

    /**
     * 调用外部服务接口的模板执行入口（不打印日志，适用于日志很大的情况）
     *
     * @param action
     * @return
     * @throws RuntimeException
     */
    <R, P> R executeWithoutLog(AbstractCallRemoteAction<R, P> action) throws RuntimeException;
}
